package com.yinhe.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yinhe.common.annotation.Excel;
import com.yinhe.common.core.domain.BaseEntity;
import com.yinhe.common.core.domain.entity.SysDept;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 休假记录对象 yh_vacation
 * 
 * @author yinhe
 * @date 2022-09-04
 */
public class YhVacation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 单位 */
    @Excel(name = "单位")
    private String department;

    /** 姓名 */
    @Excel(name = "姓名")
    private String username;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idNumber;

    /** 部门 */
    @Excel(name = "部门")
    private Long deptid;

    /** 事由 */
    @Excel(name = "事由")
    private String causes;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveStartTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveEndTime;

    /** 销假情况 */
    @Excel(name = "销假情况")
    private String leaveSituation;

    /** 休假地点 */
    @Excel(name = "休假地点")
    private String leaveAddress;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 部门ID */
    @Excel(name = "部门ID")
    private Long deptId;

    /** 部门负责人姓名 */
    @Excel(name = "部门负责人姓名")
    private String departmentHeadName;

    /** 部门负责人身份证号 */
    @Excel(name = "部门负责人身份证号")
    private String departmentHeadIdnum;

    /** 部门负责人审批结果 */
    @Excel(name = "部门负责人审批结果")
    private String departmentHeadResult;

    /** 部门负责人审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "部门负责人审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date departmentHeadTime;

    /** 部门负责人审批意见 */
    @Excel(name = "部门负责人审批意见")
    private String departmentHeadSuggest;

    /** 部门负责人是否代审 */
    @Excel(name = "部门负责人是否代审")
    private String departmentHeadIsacting;

    /** 部门负责人代审字符 */
    @Excel(name = "部门负责人代审字符")
    private String departmentHeadCharacter;

    /** 局长姓名 */
    @Excel(name = "局长姓名")
    private String directorGeneralName;

    /** 局长身份证号 */
    @Excel(name = "局长身份证号")
    private String directorGeneralIdnum;

    /** 局长审批结果 */
    @Excel(name = "局长审批结果")
    private String directorGeneralResult;

    /** 局长审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "局长审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date directorGeneralTime;

    /** 局长审批意见 */
    @Excel(name = "局长审批意见")
    private String directorGeneralSuggest;

    /** 局长是否代审 */
    @Excel(name = "局长是否代审")
    private String directorGeneralIsacting;

    /** 局长代审字符 */
    @Excel(name = "局长代审字符")
    private String directorGeneralCharacter;

    /** 政委姓名 */
    @Excel(name = "政委姓名")
    private String politicalCommissarName;

    /** 政委身份证号 */
    @Excel(name = "政委身份证号")
    private String politicalCommissarIdnum;

    /** 政委审批结果 */
    @Excel(name = "政委审批结果")
    private String politicalCommissarResult;

    /** 政委审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "政委审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date politicalCommissarTime;

    /** 政委审批意见 */
    @Excel(name = "政委审批意见")
    private String politicalCommissarSuggest;

    /** 政委是否代审 */
    @Excel(name = "政委是否代审")
    private String politicalCommissarIsacting;

    /** 政委代审字符 */
    @Excel(name = "政委代审字符")
    private String politicalCommissarCharacter;

    /** 休假审核总状态 */
    @Excel(name = "休假审核总状态")
    private String leaveTotalState;

    /** 备注1 */
    @Excel(name = "备注1")
    private String note1;

    /** 备注2 */
    @Excel(name = "备注2")
    private String note2;

    /** 备注3 */
    @Excel(name = "备注3")
    private String note3;

    /** 备注4 */
    @Excel(name = "备注4")
    private String note4;

    /** 备注5 */
    @Excel(name = "备注5")
    private String note5;

    /** 备注6 */
    @Excel(name = "备注6")
    private String note6;

    /** 备注7 */
    @Excel(name = "备注7")
    private String note7;

    /** 备注8 */
    @Excel(name = "备注8")
    private String note8;

    /** 备注9 */
    @Excel(name = "备注9")
    private String note9;

    /** 备注10 */
    @Excel(name = "备注10")
    private String note10;

    /** 部门ID */
    private SysDept dept;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setDepartment(String department) 
    {
        this.department = department;
    }

    public String getDepartment() 
    {
        return department;
    }
    public void setUsername(String username) 
    {
        this.username = username;
    }

    public String getUsername() 
    {
        return username;
    }
    public void setIdNumber(String idNumber) 
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber() 
    {
        return idNumber;
    }
    public void setDeptid(Long deptid) 
    {
        this.deptid = deptid;
    }

    public Long getDeptid() 
    {
        return deptid;
    }
    public void setCauses(String causes) 
    {
        this.causes = causes;
    }

    public String getCauses() 
    {
        return causes;
    }
    public void setLeaveStartTime(Date leaveStartTime) 
    {
        this.leaveStartTime = leaveStartTime;
    }

    public Date getLeaveStartTime() 
    {
        return leaveStartTime;
    }
    public void setLeaveEndTime(Date leaveEndTime) 
    {
        this.leaveEndTime = leaveEndTime;
    }

    public Date getLeaveEndTime() 
    {
        return leaveEndTime;
    }
    public void setLeaveSituation(String leaveSituation) 
    {
        this.leaveSituation = leaveSituation;
    }

    public String getLeaveSituation() 
    {
        return leaveSituation;
    }
    public void setLeaveAddress(String leaveAddress) 
    {
        this.leaveAddress = leaveAddress;
    }

    public String getLeaveAddress() 
    {
        return leaveAddress;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setDepartmentHeadName(String departmentHeadName) 
    {
        this.departmentHeadName = departmentHeadName;
    }

    public String getDepartmentHeadName() 
    {
        return departmentHeadName;
    }
    public void setDepartmentHeadIdnum(String departmentHeadIdnum) 
    {
        this.departmentHeadIdnum = departmentHeadIdnum;
    }

    public String getDepartmentHeadIdnum() 
    {
        return departmentHeadIdnum;
    }
    public void setDepartmentHeadResult(String departmentHeadResult) 
    {
        this.departmentHeadResult = departmentHeadResult;
    }

    public String getDepartmentHeadResult() 
    {
        return departmentHeadResult;
    }
    public void setDepartmentHeadTime(Date departmentHeadTime) 
    {
        this.departmentHeadTime = departmentHeadTime;
    }

    public Date getDepartmentHeadTime() 
    {
        return departmentHeadTime;
    }
    public void setDepartmentHeadSuggest(String departmentHeadSuggest) 
    {
        this.departmentHeadSuggest = departmentHeadSuggest;
    }

    public String getDepartmentHeadSuggest() 
    {
        return departmentHeadSuggest;
    }
    public void setDepartmentHeadIsacting(String departmentHeadIsacting) 
    {
        this.departmentHeadIsacting = departmentHeadIsacting;
    }

    public String getDepartmentHeadIsacting() 
    {
        return departmentHeadIsacting;
    }
    public void setDepartmentHeadCharacter(String departmentHeadCharacter) 
    {
        this.departmentHeadCharacter = departmentHeadCharacter;
    }

    public String getDepartmentHeadCharacter() 
    {
        return departmentHeadCharacter;
    }
    public void setDirectorGeneralName(String directorGeneralName) 
    {
        this.directorGeneralName = directorGeneralName;
    }

    public String getDirectorGeneralName() 
    {
        return directorGeneralName;
    }
    public void setDirectorGeneralIdnum(String directorGeneralIdnum) 
    {
        this.directorGeneralIdnum = directorGeneralIdnum;
    }

    public String getDirectorGeneralIdnum() 
    {
        return directorGeneralIdnum;
    }
    public void setDirectorGeneralResult(String directorGeneralResult) 
    {
        this.directorGeneralResult = directorGeneralResult;
    }

    public String getDirectorGeneralResult() 
    {
        return directorGeneralResult;
    }
    public void setDirectorGeneralTime(Date directorGeneralTime) 
    {
        this.directorGeneralTime = directorGeneralTime;
    }

    public Date getDirectorGeneralTime() 
    {
        return directorGeneralTime;
    }
    public void setDirectorGeneralSuggest(String directorGeneralSuggest) 
    {
        this.directorGeneralSuggest = directorGeneralSuggest;
    }

    public String getDirectorGeneralSuggest() 
    {
        return directorGeneralSuggest;
    }
    public void setDirectorGeneralIsacting(String directorGeneralIsacting) 
    {
        this.directorGeneralIsacting = directorGeneralIsacting;
    }

    public String getDirectorGeneralIsacting() 
    {
        return directorGeneralIsacting;
    }
    public void setDirectorGeneralCharacter(String directorGeneralCharacter) 
    {
        this.directorGeneralCharacter = directorGeneralCharacter;
    }

    public String getDirectorGeneralCharacter() 
    {
        return directorGeneralCharacter;
    }
    public void setPoliticalCommissarName(String politicalCommissarName) 
    {
        this.politicalCommissarName = politicalCommissarName;
    }

    public String getPoliticalCommissarName() 
    {
        return politicalCommissarName;
    }
    public void setPoliticalCommissarIdnum(String politicalCommissarIdnum) 
    {
        this.politicalCommissarIdnum = politicalCommissarIdnum;
    }

    public String getPoliticalCommissarIdnum() 
    {
        return politicalCommissarIdnum;
    }
    public void setPoliticalCommissarResult(String politicalCommissarResult) 
    {
        this.politicalCommissarResult = politicalCommissarResult;
    }

    public String getPoliticalCommissarResult() 
    {
        return politicalCommissarResult;
    }
    public void setPoliticalCommissarTime(Date politicalCommissarTime) 
    {
        this.politicalCommissarTime = politicalCommissarTime;
    }

    public Date getPoliticalCommissarTime() 
    {
        return politicalCommissarTime;
    }
    public void setPoliticalCommissarSuggest(String politicalCommissarSuggest) 
    {
        this.politicalCommissarSuggest = politicalCommissarSuggest;
    }

    public String getPoliticalCommissarSuggest() 
    {
        return politicalCommissarSuggest;
    }
    public void setPoliticalCommissarIsacting(String politicalCommissarIsacting) 
    {
        this.politicalCommissarIsacting = politicalCommissarIsacting;
    }

    public String getPoliticalCommissarIsacting() 
    {
        return politicalCommissarIsacting;
    }
    public void setPoliticalCommissarCharacter(String politicalCommissarCharacter) 
    {
        this.politicalCommissarCharacter = politicalCommissarCharacter;
    }

    public String getPoliticalCommissarCharacter() 
    {
        return politicalCommissarCharacter;
    }
    public void setLeaveTotalState(String leaveTotalState) 
    {
        this.leaveTotalState = leaveTotalState;
    }

    public String getLeaveTotalState() 
    {
        return leaveTotalState;
    }
    public void setNote1(String note1) 
    {
        this.note1 = note1;
    }

    public String getNote1() 
    {
        return note1;
    }
    public void setNote2(String note2) 
    {
        this.note2 = note2;
    }

    public String getNote2() 
    {
        return note2;
    }
    public void setNote3(String note3) 
    {
        this.note3 = note3;
    }

    public String getNote3() 
    {
        return note3;
    }
    public void setNote4(String note4) 
    {
        this.note4 = note4;
    }

    public String getNote4() 
    {
        return note4;
    }
    public void setNote5(String note5) 
    {
        this.note5 = note5;
    }

    public String getNote5() 
    {
        return note5;
    }
    public void setNote6(String note6) 
    {
        this.note6 = note6;
    }

    public String getNote6() 
    {
        return note6;
    }
    public void setNote7(String note7) 
    {
        this.note7 = note7;
    }

    public String getNote7() 
    {
        return note7;
    }
    public void setNote8(String note8) 
    {
        this.note8 = note8;
    }

    public String getNote8() 
    {
        return note8;
    }
    public void setNote9(String note9) 
    {
        this.note9 = note9;
    }

    public String getNote9() 
    {
        return note9;
    }
    public void setNote10(String note10) 
    {
        this.note10 = note10;
    }

    public String getNote10() 
    {
        return note10;
    }
    public SysDept getDept()
    {
        return dept;
    }
    public void setDept(SysDept dept)
    {
        this.dept = dept;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("department", getDepartment())
            .append("username", getUsername())
            .append("idNumber", getIdNumber())
            .append("deptid", getDeptid())
            .append("causes", getCauses())
            .append("leaveStartTime", getLeaveStartTime())
            .append("leaveEndTime", getLeaveEndTime())
            .append("leaveSituation", getLeaveSituation())
            .append("leaveAddress", getLeaveAddress())
            .append("userId", getUserId())
            .append("deptId", getDeptId())
            .append("departmentHeadName", getDepartmentHeadName())
            .append("departmentHeadIdnum", getDepartmentHeadIdnum())
            .append("departmentHeadResult", getDepartmentHeadResult())
            .append("departmentHeadTime", getDepartmentHeadTime())
            .append("departmentHeadSuggest", getDepartmentHeadSuggest())
            .append("departmentHeadIsacting", getDepartmentHeadIsacting())
            .append("departmentHeadCharacter", getDepartmentHeadCharacter())
            .append("directorGeneralName", getDirectorGeneralName())
            .append("directorGeneralIdnum", getDirectorGeneralIdnum())
            .append("directorGeneralResult", getDirectorGeneralResult())
            .append("directorGeneralTime", getDirectorGeneralTime())
            .append("directorGeneralSuggest", getDirectorGeneralSuggest())
            .append("directorGeneralIsacting", getDirectorGeneralIsacting())
            .append("directorGeneralCharacter", getDirectorGeneralCharacter())
            .append("politicalCommissarName", getPoliticalCommissarName())
            .append("politicalCommissarIdnum", getPoliticalCommissarIdnum())
            .append("politicalCommissarResult", getPoliticalCommissarResult())
            .append("politicalCommissarTime", getPoliticalCommissarTime())
            .append("politicalCommissarSuggest", getPoliticalCommissarSuggest())
            .append("politicalCommissarIsacting", getPoliticalCommissarIsacting())
            .append("politicalCommissarCharacter", getPoliticalCommissarCharacter())
            .append("leaveTotalState", getLeaveTotalState())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("note1", getNote1())
            .append("note2", getNote2())
            .append("note3", getNote3())
            .append("note4", getNote4())
            .append("note5", getNote5())
            .append("note6", getNote6())
            .append("note7", getNote7())
            .append("note8", getNote8())
            .append("note9", getNote9())
            .append("note10", getNote10())
                .append("dept", getDept())
            .toString();
    }
}
